package com.wande.dataplatform.filecollection.domain.dto;

import lombok.Data;

import java.io.Serializable;

/**
 * 校验规则配置
 *
 * @author wande
 */
@Data
public class ValidationRuleConfig implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 字段名
     */
    private String fieldName;

    /**
     * 校验类型(NOT_NULL/FORMAT/RANGE/ENUM/UNIQUE)
     */
    private String validationType;

    /**
     * 校验参数(JSON格式)
     * - FORMAT: {"pattern": "正则表达式"}
     * - RANGE: {"min": 最小值, "max": 最大值}
     * - ENUM: {"values": ["值1", "值2"]}
     */
    private String validationParams;

    /**
     * 错误处理策略(SKIP_RECORD/MARK_ERROR/STOP_TASK)
     */
    private String errorStrategy;

    /**
     * 错误消息模板
     */
    private String errorMessage;
}
